]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
15 months agodata: Drop org.gnome.Shell.desktop
Adrian Vovk [Wed, 9 Jul 2025 01:02:29 +0000 (21:02 -0400)]
data: Drop org.gnome.Shell.desktop

gnome-session no longer launches gnome-shell via a .desktop file,
because gnome-session no longer has a builtin service manager.

gnome-shell is now always launched via systemd

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3806>

15 months agoRevert "main: Notify gnome-session when we're ready"
Adrian Vovk [Wed, 9 Jul 2025 00:56:18 +0000 (20:56 -0400)]
Revert "main: Notify gnome-session when we're ready"

This reverts commit 1747a59aa5d44f4d7b74e1f1fee1d48174a1ce5a.

gnome-session is no longer a service manager, and thus doesn't need to
be notified of our readiness like this. We now do this exclusively
through systemd

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3806>

15 months agostatus/accessibility: Use named icons for quick settings actions
Sam Hewitt [Thu, 3 Jul 2025 19:08:31 +0000 (16:38 -0230)]
status/accessibility: Use named icons for quick settings actions

- add symbolic assets for private-use actions

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3791>

15 months agoci: Bump mutter image
Florian Müllner [Mon, 21 Jul 2025 15:18:56 +0000 (17:18 +0200)]
ci: Bump mutter image

Mutter depends on a newer wayland version, so update the image to
satisfy the dependency.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3804>

15 months agoscreenshot: Fix taking interactive screenshots via D-Bus
Florian Müllner [Sat, 19 Jul 2025 12:12:46 +0000 (14:12 +0200)]
screenshot: Fix taking interactive screenshots via D-Bus

The D-Bus method relies on the `screenshot-taken` and `closed` signals
to differentiate successful operations from canceled/failed ones.

However as the `screenshot-taken` signal is emitted asynchronously,
it may end up being emitted after the `closed` signal even in case
of success. Await the result to ensure correct ordering.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8499
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3803>

15 months agologinDialog: Store items in map
Florian Müllner [Tue, 8 Jul 2025 19:26:27 +0000 (21:26 +0200)]
loginDialog: Store items in map

Using the dedicated standard type is a bit cleaner and more optimized
than using "raw" objects as hashes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3799>

15 months agoUpdate Interlingua translation
Emilio Sepúlveda [Wed, 16 Jul 2025 17:05:10 +0000 (17:05 +0000)]
Update Interlingua translation

15 months agoBump gsd version to 49.alpha
Joan Torres Lopez [Tue, 15 Jul 2025 10:57:19 +0000 (12:57 +0200)]
Bump gsd version to 49.alpha

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3797>

15 months agoci: Update MUTTER_CI_IMAGE to ensure the new gsetting on the image
Joan Torres Lopez [Tue, 15 Jul 2025 09:06:03 +0000 (11:06 +0200)]
ci: Update MUTTER_CI_IMAGE to ensure the new gsetting on the image

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3797>

15 months agosystemActions: Optionally allow restart/shutdown on lock screen
Joan Torres Lopez [Tue, 15 Jul 2025 09:27:01 +0000 (11:27 +0200)]
systemActions: Optionally allow restart/shutdown on lock screen

Support the new 'restart-enabled' setting from 'org.gnome.desktop.screensaver'
to optionally allow restart/shutdown from the lock screen.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1584
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3797>

15 months agoutil: Don't consider consecutive dots as URLs
Sebastian Keller [Tue, 15 Jul 2025 08:08:45 +0000 (10:08 +0200)]
util: Don't consider consecutive dots as URLs

This now requires at least one character separating each dot for it to
be considered a URL. It also does not allow URLs starting with a dot
anymore.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8517
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3798>

15 months agoextensions-app: Port to AdwShortcutsDialog
Florian Müllner [Wed, 2 Jul 2025 19:30:11 +0000 (21:30 +0200)]
extensions-app: Port to AdwShortcutsDialog

GTK's ShortcutsWindow has been deprecated for a while, now libadwaita
added a replacement we can move to.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3788>

15 months agologinDialog: Move session/a11y buttons into a box
Florian Müllner [Tue, 8 Jul 2025 15:42:56 +0000 (17:42 +0200)]
loginDialog: Move session/a11y buttons into a box

The intermediate container allows the theme to control the distance
from the edge and spacing between buttons, which is more accessible
to the designers than computing the values from code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3794>

15 months agologinDialog: Increase size of session/a11y buttons
Florian Müllner [Thu, 3 Jul 2025 14:15:18 +0000 (16:15 +0200)]
loginDialog: Increase size of session/a11y buttons

The buttons on the login screen for the session and accessibility
menus can easily be lost, due to a combination of their size and
position, and the large amount of empty space.

Increase their size a bit to lessen that effect.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8497
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3794>

15 months agoUpdate Romanian translation
Antonio Marin [Mon, 14 Jul 2025 13:02:38 +0000 (13:02 +0000)]
Update Romanian translation

15 months agoUpdate Turkish translation
Emin Tufan Çetin [Sun, 13 Jul 2025 11:50:51 +0000 (11:50 +0000)]
Update Turkish translation

15 months agonetwork: Make sortByName to properly handle null values
Marco Trevisan (Treviño) [Wed, 9 Jul 2025 03:56:27 +0000 (05:56 +0200)]
network: Make sortByName to properly handle null values

g_utf8_collate is not nullable, but is used in a relevant piece of code,
so better not to throw any error if a null value is compared

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3785>

15 months agonetwork: Do not consider networks without ID as available
Marco Trevisan (Treviño) [Mon, 30 Jun 2025 18:31:13 +0000 (20:31 +0200)]
network: Do not consider networks without ID as available

In some rare (and weird) cases network manager may provide us
connections without settings (since connection.get_settings() is
actually nullable, and this may lead to have a NULL connection ID, that
eventually breaks the network menu completely:

  (gnome-shell:1579214): GNOME Shell-CRITICAL **: 20:27:14.874: Error:
    Argument str2 may not be null

  Stack trace:
    _sortByName@resource:///org/gnome/shell/ui/status/network.js:119:21
    lowerBound@resource:///org/gnome/shell/misc/util.js:253:13
    insertSorted@resource:///org/gnome/shell/misc/util.js:279:25
    _upsert@resource:///org/gnome/shell/ui/status/network.js:128:21
    upsert@resource:///org/gnome/shell/ui/status/network.js:147:21
    _addConnection@resource:///org/gnome/shell/ui/status/network.js:578:38
    _syncConnections@resource:///org/gnome/shell/ui/status/network.js:511:18
    NMDeviceItem@resource:///org/gnome/shell/ui/status/network.js:469:14
    NMWiredDeviceItem@resource:///org/gnome/shell/ui/status/network.js:611:1
    _createDeviceMenuItem@resource:///org/gnome/shell/ui/status/network.js:1909:16
    _ensureDeviceItem@resource:///org/gnome/shell/ui/status/network.js:1744:27
    _syncDeviceItem@resource:///org/gnome/shell/ui/status/network.js:1717:18
    _addDevice@resource:///org/gnome/shell/ui/status/network.js:1767:14
    _loadInitialItems@resource:///org/gnome/shell/ui/status/network.js:1680:18
    setClient@resource:///org/gnome/shell/ui/status/network.js:1420:18
    setClient@resource:///org/gnome/shell/ui/status/network.js:1651:15
    _getClient/<@resource:///org/gnome/shell/ui/status/network.js:2126:30
    _getClient@resource:///org/gnome/shell/ui/status/network.js:2125:33
    async*_init@resource:///org/gnome/shell/ui/status/network.js:2119:14
    SystemIndicator@resource:///org/gnome/shell/ui/quickSettings.js:847:1
    Indicator@resource:///org/gnome/shell/ui/status/network.js:2073:1
    _setupIndicators@resource:///org/gnome/shell/ui/panel.js:523:29
    async*QuickSettings@resource:///org/gnome/shell/ui/panel.js:514:14
    _ensureIndicator@resource:///org/gnome/shell/ui/panel.js:903:25
    _updateBox@resource:///org/gnome/shell/ui/panel.js:914:34
    _updatePanel@resource:///org/gnome/shell/ui/panel.js:868:14
    _init@resource:///org/gnome/shell/ui/panel.js:692:14
    Panel@resource:///org/gnome/shell/ui/panel.js:648:1
    _initializeUI@resource:///org/gnome/shell/ui/main.js:246:13
    start@resource:///org/gnome/shell/ui/main.js:180:11
    @resource:///org/gnome/shell/ui/init.js:12:47
    @resource:///org/gnome/shell/ui/init.js:21:20

Now, despite that specific connection here has valid settings when
loaded from dbus, it may still happen that NM lib fails at other level in
fetching its settings.

That said, we should not fail if a connection has no settings, and
just skip it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3785>

16 months agoUpdate Interlingua translation
Emilio Sepúlveda [Tue, 8 Jul 2025 12:43:23 +0000 (12:43 +0000)]
Update Interlingua translation

16 months agoUpdate Interlingua translation
Emilio Sepúlveda [Mon, 7 Jul 2025 14:51:16 +0000 (14:51 +0000)]
Update Interlingua translation

16 months agoUpdate Interlingua translation
Emilio Sepúlveda [Sun, 6 Jul 2025 01:48:50 +0000 (01:48 +0000)]
Update Interlingua translation

16 months agost/button: Remove transition vfunc
Florian Müllner [Fri, 4 Jul 2025 17:49:02 +0000 (19:49 +0200)]
st/button: Remove transition vfunc

This was part of the original MxWidget import, but we never used
it for anything. After more than 15 years it is unlikely that we
are going to start, so remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3792>

16 months agoUpdate Slovenian translation
Martin [Thu, 3 Jul 2025 20:10:03 +0000 (20:10 +0000)]
Update Slovenian translation

16 months agoextensions-app: Add mnemonic to the "Log Out..." button from banner
Automeris naranja [Tue, 1 Jul 2025 19:37:36 +0000 (16:37 -0300)]
extensions-app: Add mnemonic to the "Log Out..." button from banner

It makes easier to trigger this button with the keyboard,
helping a11y.

See https://developer.gnome.org/hig/guidelines/keyboard.html#access-keys

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3786>

16 months agoUpdate Thai translation
Aefgh Threenine [Thu, 3 Jul 2025 11:57:47 +0000 (11:57 +0000)]
Update Thai translation

(cherry picked from commit 31d714b22dd7b97fa0ddb6160240ade80987ee14)

16 months agoUpdate Thai translation
Aefgh Threenine [Thu, 3 Jul 2025 10:58:46 +0000 (10:58 +0000)]
Update Thai translation

(cherry picked from commit e24e8aeb3de6c0467e9ead6ef7c36971f0863cbf)

16 months agodata: Replace org.gnome.Evince with org.gnome.Papers in Utilities
AsciiWolf [Wed, 26 Feb 2025 16:36:08 +0000 (17:36 +0100)]
data: Replace org.gnome.Evince with org.gnome.Papers in Utilities

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3611>

16 months agobuild: Bump Mutter ABI version
Carlos Garnacho [Mon, 26 May 2025 15:27:17 +0000 (17:27 +0200)]
build: Bump Mutter ABI version

We didn't do so for GNOME 49, so do it now.

16 months agoscreenShield: Fix pointer showing on motion
Carlos Garnacho [Sun, 29 Jun 2025 09:35:24 +0000 (11:35 +0200)]
screenShield: Fix pointer showing on motion

As an additional side effect of switching to the cursor visibility
inhibition API in the cursor tracker, there is no longer this
infighting in Mutter where pointer motion tries to set pointer
visibility on (since it's the last device used), and other places
wanting to inhibit it, such as the screenshield.

This resulted on the cursor wanting to show by itself, and somehow
trigger captured motion events on the ClutterStage. This no longer
happens, which results in the pointer staying hidden, seat unfocus
remaining uninhibited, and no motion events being sent in (since
the pointer device now does remain unfocused).

Fix this by:
- Setting a seat unfocus inhibition, so the pointer triggers motion
  and focus despite being hidden
- Connecting to captured events on the screen lock group widget,
  since captured events will respect the existing grab

This results in pointer motion again resulting on the cursor being
shown, when waking up the lockscreen.

Fixes: 91c6366e0 ("Adjust to cursor tracker visibility API changes")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3781>

16 months agoBump version to 49.alpha.1
Florian Müllner [Sat, 28 Jun 2025 15:03:19 +0000 (17:03 +0200)]
Bump version to 49.alpha.1

Update NEWS.

16 months agoUpdate Russian translation
Artur S0 [Sat, 28 Jun 2025 17:29:43 +0000 (17:29 +0000)]
Update Russian translation

16 months agoscreenshot: Remove gtk desktop portal from allowed senders
Florian Müllner [Mon, 23 Jun 2025 10:59:00 +0000 (12:59 +0200)]
screenshot: Remove gtk desktop portal from allowed senders

The gtk portal removed all portals that were relying on private
GNOME APIs, given that those are now implemented by the gnome portal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3760>

16 months agoscreenshot: Remove gnome-screenshot from allowed senders
Florian Müllner [Sun, 22 Jun 2025 12:59:07 +0000 (14:59 +0200)]
screenshot: Remove gnome-screenshot from allowed senders

It was removed from core after we got a built-in screenshot UI in
the shell, and is mostly unmaintained nowadays.

There is no good reason anymore for treating it differently than other
3rd-party screenshot tools, so stop giving it default access to the
private screenshotting API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3760>

16 months agologinDialog: Add a11y menu
Florian Müllner [Sat, 7 Jun 2025 17:13:59 +0000 (19:13 +0200)]
loginDialog: Add a11y menu

When quick settings become configurable, users can add the a11y
toggles they need to the regular quick settings menu. This does
not really work for the login screen, where all a11y features
should be available by default.

Address this by adding a dedicated a11y menu button next to the
session menu button.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3744>

16 months agostatus/accessibility: Export quick toggles
Florian Müllner [Sat, 7 Jun 2025 16:45:16 +0000 (18:45 +0200)]
status/accessibility: Export quick toggles

Implement quick toggles for every accessibility feature that is
currently exposed by the menu. Those toggles will eventually replace
the menu when quick setting become configurable.

However the login screen will use a dedicated accessibility menu
(once again), which does not depend on the quick settings feature,
so add the toggles now to allow implementing it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3744>

16 months agosessionMode: Remove a11y menu from 'gdm' mode
Florian Müllner [Sat, 7 Jun 2025 17:15:26 +0000 (19:15 +0200)]
sessionMode: Remove a11y menu from 'gdm' mode

The login screen will use a dedicated menu based on quick toggles.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3744>

16 months agocleanup: Remove unused eslint-disable directives
Florian Müllner [Wed, 18 Jun 2025 22:37:57 +0000 (00:37 +0200)]
cleanup: Remove unused eslint-disable directives

The 'camelcase' rule only applies to variables and properties,
not to function names or getter/setters.

The 'no-await-in-loop' rule only applies if there is a loop.

The 'require-atomic-updates' rule no longer applies to
properties by default.

The 'no-constant-condition' rule no longer applies to
`while(true)` by default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3756>

16 months agotheme: Adjust 'clear' button whitespace
Jakub Steiner [Tue, 24 Jun 2025 11:09:41 +0000 (13:09 +0200)]
theme: Adjust 'clear' button whitespace

- keep corner radius concentric

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3691>

16 months agostatus/doNotDisturb: Add new quick toggle
Florian Müllner [Thu, 10 Apr 2025 18:09:35 +0000 (20:09 +0200)]
status/doNotDisturb: Add new quick toggle

It is a simple on/off control, which makes it a good fit for
quick settings. It also makes sense to expose the feature together
with other system controls, and while this somewhat removes the
control from the context of notifications, that doesn't seem to
be an issue on other platforms.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8339
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3691>

16 months agodateMenu: Stop indicating do-not-disturb status
Florian Müllner [Thu, 10 Apr 2025 18:17:16 +0000 (20:17 +0200)]
dateMenu: Stop indicating do-not-disturb status

The control for enabling/disabling do-not-disturb will be moved into
quick settings. It makes sense to then also move the indicator, so stop
showing the do-not-disturb status in the top bar's messages indicator.

Instead, just hide the indicator altogether when do-not-disturb
is active.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3691>

16 months agocalendar: Move "Clear" button to the start
Florian Müllner [Thu, 10 Apr 2025 18:49:40 +0000 (20:49 +0200)]
calendar: Move "Clear" button to the start

Aligning the button to the end is a bit odd after removing the
do-not-disturb switch, so move it to the start instead and make
it pill-shaped to align better with the popover.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3691>

16 months agocalendar: Remove do-not-disturb switch
Florian Müllner [Thu, 10 Apr 2025 18:22:22 +0000 (20:22 +0200)]
calendar: Remove do-not-disturb switch

While clearly related to notifications, having it in the already quite
crowded date/notification popover is quite awkward.

Also the canonical place for quickly accessing commonly used settings
is the quick settings menu nowadays.

So remove the existing control from the calendar menu before re-adding
the feature as quick toggle.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3691>

16 months agowindowManager: Stop bridging pad changes to OLED updates
Carlos Garnacho [Wed, 30 Apr 2025 09:13:09 +0000 (11:13 +0200)]
windowManager: Stop bridging pad changes to OLED updates

The small OLEDs alongside pad buttons in Wacom Intuos 4 models will
stop being supported. See
https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/416

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3706>

16 months agost/entry: Forward label-actor to internal ClutterText
Florian Müllner [Thu, 26 Jun 2025 10:07:07 +0000 (12:07 +0200)]
st/entry: Forward label-actor to internal ClutterText

The StWidget:label-actor property is a convenient way of setting up an
actor's labelled-by relationship. However on StEntry, it is currently
fairly useless because if the entry is focused, the actual keyboard
focus will be on the internal ClutterText rather than the entry itself,
and orca ignores ancestors in most cases.

Address this by tracking the entry's label-actor property, and replicate
the labelled-by relationship on the internal ClutterText actor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3179>

16 months agost/entry: Use hint-actor as a11y description if possible
Florian Müllner [Fri, 9 Feb 2024 17:38:15 +0000 (18:38 +0100)]
st/entry: Use hint-actor as a11y description if possible

The hint-actor is used as a placeholder to explain the purpose
of an entry, but it currently isn't exposed to accessibility.

There is no good reason to not do that, so also use the actor
as described-by relationship, provided the actor is a label.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3179>

16 months agooverview: Delay showing until there is gesture progress
Florian Müllner [Thu, 26 Jun 2025 18:35:10 +0000 (20:35 +0200)]
overview: Delay showing until there is gesture progress

Currently swiping down in the session enters the overview, but
as there is no progress (clamped to 0 from negative), the only
visible effect is that the top bar transitions to transparent.

Avoid this glitch by delaying showing the overview until there
is some non-0 progress.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7456
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3777>

16 months agostyle: Adjust message list notification radius to fix mismatch
Sam Hewitt [Thu, 26 Jun 2025 14:05:10 +0000 (11:35 -0230)]
style: Adjust message list notification radius to fix mismatch

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8391
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3776>

16 months agostyle: Adjust the insenstive system text color for contrast
Sam Hewitt [Thu, 26 Jun 2025 13:56:46 +0000 (11:26 -0230)]
style: Adjust the insenstive system text color for contrast

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8428
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3776>

16 months agostyle: Restore drawing the slight border on panel in light theme
Sam Hewitt [Thu, 26 Jun 2025 13:37:08 +0000 (11:07 -0230)]
style: Restore drawing the slight border on panel in light theme

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8481
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3776>

16 months agoUpdate Slovenian translation
Martin [Wed, 25 Jun 2025 21:44:00 +0000 (21:44 +0000)]
Update Slovenian translation

16 months agotools/toolbox: Stop forcing wayland display
Florian Müllner [Wed, 25 Jun 2025 17:49:01 +0000 (19:49 +0200)]
tools/toolbox: Stop forcing wayland display

Mutter now updates the activation environment itself when running
outside a gnome-shell session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3775>

16 months agopowerProfiles: Handle error if profile does not exists
Morgan [Wed, 25 Jun 2025 12:52:02 +0000 (21:52 +0900)]
powerProfiles: Handle error if profile does not exists

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3774>

16 months agopopupMenu: Use SEPARATOR a11y role for SeparatorMenuItems
Florian Müllner [Wed, 25 Jun 2025 11:53:50 +0000 (13:53 +0200)]
popupMenu: Use SEPARATOR a11y role for SeparatorMenuItems

SeparatorMenuItems are not activatable, so SEPARATOR is a more
appropriate role than MENU_ITEM.

This is also what GTK3 does with GtkSeparatorMenuItem.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3773>

16 months agoAdjust to cursor tracker visibility API changes
Sebastian Wick [Wed, 25 Jun 2025 11:15:24 +0000 (13:15 +0200)]
Adjust to cursor tracker visibility API changes

The old `Meta.CursorTracker.set_pointer_visible` method has been
replaced by `inhibit_cursor_visibility` and
`uninhibit_cursor_visibility`.

Change the code to use the new API which makes the code more robust
because we don't have to listen for changes and then try to force it
back to what we want.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3772>

16 months agodateMenu: Add accessibility to Events and Weather
Sergio Costas Rodriguez [Tue, 24 Jun 2025 16:20:21 +0000 (18:20 +0200)]
dateMenu: Add accessibility to Events and Weather

The Events element, with today events, and the Weather element,
with the weather in our location, lack accessibility names.

This patch fixes it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3769>

16 months agoauthPrompt: Notify error messages in GDM login/unlock
Sergio Costas Rodriguez [Tue, 24 Jun 2025 12:31:40 +0000 (14:31 +0200)]
authPrompt: Notify error messages in GDM login/unlock

When there is an error during GDM login or unlock (for example,
typing a wrong password), a text message is shown, but nothing
is said by the screen reader.

This patch fixes this, by notifying any error set in the auth
prompt.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3765>

16 months agotools: Set XDG_DATA_DIRS inside toolbox run script
Thomas Booker [Mon, 23 Jun 2025 06:13:08 +0000 (18:13 +1200)]
tools: Set XDG_DATA_DIRS inside toolbox run script

Some host OSes (like NixOS) have a weird $XDG_DATA_DIRS environment
variable that gets inherited into the toolbox and brakes GSettings schemas.
Address this by appending the default /usr/share to $XDG_DATA_DIRS if
necessary.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3761>

16 months agoextensions-tool: Fix security warnings about format string injection
Daniel van Vugt [Tue, 24 Jun 2025 06:59:21 +0000 (14:59 +0800)]
extensions-tool: Fix security warnings about format string injection

Fixes:
```
../subprojects/extensions-tool/src/command-upload.c: In function ‘response_get_token’:
../subprojects/extensions-tool/src/command-upload.c:126:7: warning: format not a string literal and no format arguments [-Wformat-security]
  126 |       g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, msg);
      |       ^~~~~~~~~~~
../subprojects/extensions-tool/src/command-upload.c: In function ‘session_get_login_token’:
../subprojects/extensions-tool/src/command-upload.c:294:20: warning: format not a string literal and no format arguments [-Wformat-security]
  294 |                    detail ? detail : soup_status_get_phrase (status));
      |                    ^~~~~~
../subprojects/extensions-tool/src/command-upload.c: In function ‘session_upload_file’:
../subprojects/extensions-tool/src/command-upload.c:357:20: warning: format not a string literal and no format arguments [-Wformat-security]
  357 |                    detail ? detail : soup_status_get_phrase (status));
      |                    ^~~~~~
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3764>

16 months agodata: Fix Passwords and Keys desktop file name
Daniel Rusek [Sat, 21 Jun 2025 11:54:19 +0000 (11:54 +0000)]
data: Fix Passwords and Keys desktop file name

It was renamed in https://gitlab.gnome.org/GNOME/seahorse/-/commit/6e8e3b9854c0a6a60d0b61f30def7eda275dd74c

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3759>

16 months agodata: Replace org.gnome.Totem with org.gnome.Showtime in App Grid
AsciiWolf [Wed, 26 Feb 2025 16:44:08 +0000 (17:44 +0100)]
data: Replace org.gnome.Totem with org.gnome.Showtime in App Grid

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3650>

16 months agodata: Fix Document Scanner desktop file name
Daniel Rusek [Sat, 21 Jun 2025 00:16:18 +0000 (00:16 +0000)]
data: Fix Document Scanner desktop file name

It was renamed in https://gitlab.gnome.org/GNOME/simple-scan/-/commit/87d40f27ff70397133ba785b120a4b1b1e6c3e17

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3758>

16 months agokeyring: Allow user to correct password after checking failed
Alynx Zhou [Fri, 20 Jun 2025 15:05:28 +0000 (23:05 +0800)]
keyring: Allow user to correct password after checking failed

Currently we make entries and buttons insensitive and do some checks
before calling the GcrPrompt implementation to complete. However, if
checks get failed, for example, new passwords mismatched due to typo,
we should make entries and buttons sensitive again to allow user to
correct it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3757>

16 months agosubprojects: Pin the libshew revision we use
Jordan Petridis [Wed, 18 Jun 2025 13:49:58 +0000 (16:49 +0300)]
subprojects: Pin the libshew revision we use

Meson doesn't have a lockfile, so we need to make sure ourselves that
the build is somewhat deterministic.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3754>

16 months agoUpdate Slovenian translation
Martin [Fri, 20 Jun 2025 19:59:45 +0000 (19:59 +0000)]
Update Slovenian translation

16 months agoUpdate Catalan translation
Jordi Mas [Fri, 20 Jun 2025 18:05:04 +0000 (20:05 +0200)]
Update Catalan translation

16 months agoextensions-tool: Add upload command
Florian Müllner [Sun, 11 May 2025 13:02:51 +0000 (15:02 +0200)]
extensions-tool: Add upload command

Add a new command for uploading new extension versions to
https://extensions.gnome.org. This is particularly useful
where the web interface is inconvenient or not available,
for example when uploading multiple extensions or from a
tag pipeline in CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3712>

16 months agolint: Require dangling comma in multi-line imports
Florian Müllner [Tue, 17 Jun 2025 13:57:02 +0000 (15:57 +0200)]
lint: Require dangling comma in multi-line imports

This keeps the config in line with gjs, which added the option
in gjs@f7d3b5d4c8.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3755>

16 months agomeson: Avoid glibc-specifics when not using glibc
Daniel van Vugt [Thu, 12 Jun 2025 05:34:29 +0000 (13:34 +0800)]
meson: Avoid glibc-specifics when not using glibc

This also requires Meson 1.3 to use compiler.has_define.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8457
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3748>

16 months agorunDialog: Set label-actor for entry
Florian Müllner [Tue, 3 Jun 2025 14:17:17 +0000 (16:17 +0200)]
runDialog: Set label-actor for entry

The dialog title is currently "invisible" to the screen reader,
so alt+F2 effectively brings up a plain entry with no context.

To address this, set the entry's label-actor to the dialog title,
so we export a proper labelled-by relationship to the screen reader.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3736>

16 months agostatus/keyboard: Limit the input method indicator to < 3 grapheme clusters
Mike FABIAN [Tue, 17 Jun 2025 13:48:42 +0000 (15:48 +0200)]
status/keyboard: Limit the input method indicator to < 3 grapheme clusters

The Javascript string length is not suitable for measuring the
approximate length of a rendered text in the input method
indicator. Most single code point emoji like `🚀 U+1F680` get length 2
already, adding a variation selector to make the emoji display in
black and white like `🚀︎ U+1F680 U+FE0E` makes the length 3. More
complicated emoji sequences may get much longer lengths even though
the still display as one character.  For example `👩‍👩‍👧‍👧 U+1F469,
U+200D, U+1F469, U+200D, U+1F467, U+200D, U+1F467` gets length 11.
This is not only the case for emoji but also for other text, for
example the Korean jamo `각 U+1100, U+1161, U+11A8` display as only 1
glyph but the Javascript length is 3.

A better way to measure the approximate length of a rendered text is
to count the Unicode grapheme clusters in the text using
Intl.Segmenter. This counts all the examples above as 1 grapheme
cluster each.

There seem to be some bugs in the Intl.Segmenter, for example
`क्षि U+0915, U+094D, U+0937, U+093F` is counted as 2 grapheme clusters,
the correct result should be 1. But it is good enough to measure
the approximate length of the input method indicator and certainly
better than the Javascript string length.

Resolves: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1026
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3753>

16 months agosubprojects: Switch to wrap to provide libshew
Florian Müllner [Wed, 4 Jun 2025 11:01:18 +0000 (13:01 +0200)]
subprojects: Switch to wrap to provide libshew

The Extensions app is very simple, but hard to contribute to
because the default workflow (open in Builder, hit run) does
not work due to the code being in a subtree of gnome-shell.

However it cannot be easily split into its own repository,
while the shew subproject is still provided gnome-shell.

To allow for the future split, libshew was moved into a
separate repo, so remove the in-tree subproject and replace
it with a meson wrap.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3738>

16 months agoworkspaceSwitcherPopup: Show on all displays
Oscar Sommerer [Sat, 31 May 2025 18:47:03 +0000 (20:47 +0200)]
workspaceSwitcherPopup: Show on all displays

Show the workspaceSwitcherPopup OSD on all displays if
`workspaces-only-on-primary` is false.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8105

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3734>

16 months agoUpdate Belarusian translation
Vasil Pupkin [Sun, 15 Jun 2025 13:18:52 +0000 (13:18 +0000)]
Update Belarusian translation

16 months agoUpdate Slovenian translation
Martin [Fri, 13 Jun 2025 06:55:23 +0000 (06:55 +0000)]
Update Slovenian translation

16 months agoappFavorites: Remove rename list
Michael Catanzaro [Fri, 6 Jun 2025 19:38:23 +0000 (14:38 -0500)]
appFavorites: Remove rename list

With the exception of Simple Scan, the last update to this list was 5
years ago. If Simple Scan is one of your favorite apps and you are still
using GNOME 43 or below, then I am sorry. Otherwise, this list is
entirely obsolete.

Don't rename desktop files. It's very disruptive.

If you do need to rename a desktop file for some reason, the user will
just have to pin the favorite app again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3743>

16 months agologinDialog: Don't reconnect on each reset with gdmClient
Joan Torres López [Wed, 11 Jun 2025 15:46:07 +0000 (17:46 +0200)]
loginDialog: Don't reconnect on each reset with gdmClient

When resetting the greeter proxy, it's destroyed and then recreated
again.

This destroy/recreate thing doesn't give any info to GDM and the greeter
interface destroyed has the same state as the newly created one.

Each time get_greeter_sync is called when greeter is destroyed makes GDM
create a new connection which stores in a list. This means that for each
reset a new unnecessary connection is created and stored.

GDM was leaking some objects which combined with this excessive connection
creation was causing a fd leak on each reset.

To make better use of resources and avoid problems, use ensure instead
of reset greeter proxy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3749>

16 months agoUpdate Turkish translation
Emin Tufan Çetin [Wed, 11 Jun 2025 15:39:29 +0000 (15:39 +0000)]
Update Turkish translation

16 months agotools/toolbox: Adjust meson-test build directory
Florian Müllner [Tue, 10 Jun 2025 14:37:42 +0000 (16:37 +0200)]
tools/toolbox: Adjust meson-test build directory

Commit d3543cd9c added a prefix to the build dir used by
meson-build.sh, but forgot to adjust meson-test.sh to use
the same prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3747>

16 months agoUpdate Interlingua translation
Emilio Sepúlveda [Tue, 10 Jun 2025 14:35:28 +0000 (14:35 +0000)]
Update Interlingua translation

16 months agoci: Run eslint-doc job unconditionally
Florian Müllner [Tue, 10 Jun 2025 11:59:12 +0000 (13:59 +0200)]
ci: Run eslint-doc job unconditionally

The job is meant to run when either the style guide or the eslint
configuration changes. That stopped working when the style guide
was renamed to docs/js-coding-style.md without updating the job
conditions, whoops.

The job isn't very expensive to run, so just run it unconditionally
to avoid these kinds of oversights in the future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agoci: Don't duplicate report filenames
Florian Müllner [Tue, 10 Jun 2025 11:57:46 +0000 (13:57 +0200)]
ci: Don't duplicate report filenames

Define report filenames as variables if they are referenced more than
once to make sneaky typos less likely.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agoci: Don't expose ci-fairy reports as artifacts
Florian Müllner [Tue, 10 Jun 2025 11:53:34 +0000 (13:53 +0200)]
ci: Don't expose ci-fairy reports as artifacts

The ci-fairly jobs log human-readable errors to the job log, and
create a junit report that is exposed in the merge request UI.

That should be good enough, no need to also expose the junit XML
as downloadable artifacts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agoci: Set variables at job level where possible
Florian Müllner [Tue, 10 Jun 2025 11:43:12 +0000 (13:43 +0200)]
ci: Set variables at job level where possible

Variables that are defined at the global level are more disconnected
from the jobs that use them, and therefore more likely to get outdated
when the job changes.

To litigate that, define variables locally with the job unless they
are used by multiple jobs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agoci: Move build-sysext job
Florian Müllner [Tue, 10 Jun 2025 11:38:27 +0000 (13:38 +0200)]
ci: Move build-sysext job

Put it between other build jobs rather than before global configuration
and templates.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agoci: Remove unused variable
Florian Müllner [Tue, 10 Jun 2025 11:35:24 +0000 (13:35 +0200)]
ci: Remove unused variable

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3745>

16 months agonetwork: Don't assume captive portal indicates wi-fi
Michael Catanzaro [Wed, 21 May 2025 11:38:45 +0000 (06:38 -0500)]
network: Don't assume captive portal indicates wi-fi

Turns out my AT&T Internet gateway acts as a captive portal for about
two minutes after it is started. It's wrong to assume captive portal
indicates Wi-Fi.

Also, change the terminology from "Sign Into" to "Sign In to" to be
pedantic. "Sign Into" seems to be pretty widely used on the web, so
maybe users won't notice, but "Into" is supposed to be a preposition,
not a verb.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8330

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3717>

17 months agopadOsd: Add Dial Support
Joshua [Tue, 31 Dec 2024 04:26:56 +0000 (04:26 +0000)]
padOsd: Add Dial Support

Adds dial support based on existing ring support.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3583>

17 months agoUpdate Slovenian translation
Martin [Sun, 8 Jun 2025 07:13:44 +0000 (07:13 +0000)]
Update Slovenian translation

17 months agoBump version to 49.alpha.0
Jordan Petridis [Thu, 5 Jun 2025 00:59:38 +0000 (03:59 +0300)]
Bump version to 49.alpha.0

Update NEWS

This cycle will go through multiple alpha releases
most likely, so start with alpha.0 instead of plain
.alpha

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3739>

17 months agoci: Allow sysext job to fail for now
Jordan Petridis [Sun, 8 Jun 2025 05:15:08 +0000 (08:15 +0300)]
ci: Allow sysext job to fail for now

Something is causing PAM to complain and we haven't figured
out what yet.

```
sudo: PAM account management error: Authentication service cannot
retrieve authentication info
sudo: a password is required
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3739>

17 months agoUpdate Interlingua translation
Emilio Sepúlveda [Sat, 7 Jun 2025 01:26:18 +0000 (01:26 +0000)]
Update Interlingua translation

17 months agostatus/brightness: Port to new MetaBacklight API
Sebastian Wick [Fri, 16 May 2025 15:24:48 +0000 (17:24 +0200)]
status/brightness: Port to new MetaBacklight API

Mutter has taken over controlling the backlights of the system from
gnome-settings-daemon. It now exposes MetaMonitors which can be reached
from MetaMonitorManager, and any of the MetaMonitors can have a
controllable backlight.

For now, we keep the current UX and simply set the backlight percentage
of the primary monitor's backlight (or the first monitor's backlight, if
the primary monitor doesn't have a backlight) on all monitors.

g-s-d is still responsible for reacting to keyboard shortcuts and
popping up the OSD notification, but that might change in the future.

The UI may change to make it possible to control individual backlights
in the future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3715>

17 months agotools/toolbox: Prefix build directory
Florian Müllner [Thu, 5 Jun 2025 13:30:22 +0000 (15:30 +0200)]
tools/toolbox: Prefix build directory

The leading underscore should make it easier to distinguish from
files in the repo (in particular "build-aux").

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3741>

17 months agoextensions-app: Use "dir" source in flatpak manifest
Florian Müllner [Thu, 5 Jun 2025 11:13:31 +0000 (13:13 +0200)]
extensions-app: Use "dir" source in flatpak manifest

The manifest is already part of a fully checked-out source true,
so there is no need to clone the whole repository again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3741>

17 months agobuild: Use build-aux for auxiliary build scripts
Florian Müllner [Thu, 5 Jun 2025 11:22:27 +0000 (13:22 +0200)]
build: Use build-aux for auxiliary build scripts

This is the name most projects have settled on, so let's use that
as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3741>

17 months agotimeLimitsManager: Don't log transitions from history
Florian Müllner [Tue, 27 May 2025 15:48:15 +0000 (17:48 +0200)]
timeLimitsManager: Don't log transitions from history

The history file can get quite large, with the result that we
flood the journal with pages and pages of old transition if
debug messages are enabled.

Instead, suppress the regular debug log and print a summary message
at the end instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3740>

17 months agotimeLimitsManager: Pass extra transition options as params
Florian Müllner [Thu, 5 Jun 2025 13:33:16 +0000 (15:33 +0200)]
timeLimitsManager: Pass extra transition options as params

Boolean parameters are often harder to grasp, in particular when
there are multiple. So before adding more optional flags to
`_addTransition()`, pass flags as a params object.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3740>

17 months agodateMenu: Stop using ratio character for time
Florian Müllner [Wed, 28 May 2025 22:02:09 +0000 (00:02 +0200)]
dateMenu: Stop using ratio character for time

The recommendation was dropped from the HIG 3 years ago without
communicating to developers that they should update their code.

Do that now.

[0] https://gitlab.gnome.org/Teams/Websites/developer.gnome.org-hig/-/commit/41d6b4a56f04

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2618
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3732>

17 months agodateUtils: Stop using ratio character for time
Florian Müllner [Wed, 28 May 2025 21:58:49 +0000 (23:58 +0200)]
dateUtils: Stop using ratio character for time

The recommendation was dropped from the HIG 3 years ago without
communicating to developers that they should update their code.

Do that now.

[0] https://gitlab.gnome.org/Teams/Websites/developer.gnome.org-hig/-/commit/41d6b4a56f04

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3732>

17 months agoci: Restore /etc/passwd permissions after installing packages
Florian Müllner [Mon, 26 May 2025 13:27:22 +0000 (15:27 +0200)]
ci: Restore /etc/passwd permissions after installing packages

The flatpak package installs a sysuser trigger, which for some reason
messes up the permissions of /etc/passwd to only be readable by root.

Work around this by simply restoring the permissions at the end.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3727>